go/types.term.typ (field)
77 uses
go/types (current package)
builtins.go#L974: if r := f(t.typ); r != nil {
conversions.go#L256: x.typ = V.typ
conversions.go#L261: if !x.convertibleTo(check, T.typ, cause) {
conversions.go#L262: errorf("cannot convert %s (in %s) to type %s (in %s)", V.typ, Vp, T.typ, Tp)
conversions.go#L274: x.typ = V.typ
conversions.go#L276: errorf("cannot convert %s (in %s) to type %s", V.typ, Vp, origT)
conversions.go#L286: if !x.convertibleTo(check, T.typ, cause) {
conversions.go#L287: errorf("cannot convert %s to type %s (in %s)", x.typ, T.typ, Tp)
infer.go#L250: u.tracef("-> unify type parameter %s (type %s) with constraint core type %s", tpar, tx, core.typ)
infer.go#L262: if !u.unify(tx, core.typ, 0) {
infer.go#L271: u.tracef("-> set type parameter %s to constraint core type %s", tpar, core.typ)
infer.go#L276: u.set(tpar, core.typ)
infer.go#L616: return t != nil && w.isParameterized(t.typ)
infer.go#L673: assert(debug && under(single.typ) == coreType(tpar))
infer.go#L759: w.typ(t.typ)
instantiate.go#L350: if alt == nil && !t.tilde && Identical(t.typ, under(t.typ)) {
instantiate.go#L354: alt = t.typ
instantiate.go#L391: if mentions(t.typ, typ) {
operand.go#L344: newType, _, _ := check.implicitTypeAndValue(x, t.typ)
operand.go#L421: ok, code = x.assignableTo(check, T.typ, cause)
operand.go#L423: errorf("cannot assign %s to %s (in %s)", x.typ, T.typ, Tp)
operand.go#L442: x.typ = V.typ
operand.go#L445: errorf("cannot assign %s (in %s) to %s", V.typ, Vp, origT)
predicates.go#L62: return tpar.is(func(t *term) bool { return t != nil && isBasic(t.typ, info) })
subst.go#L349: if typ := subst.typ(t.typ); typ != t.typ {
termlist.go#L60: if x != nil && x.typ == nil {
termlist.go#L89: if u1.typ == nil {
typeset.go#L50: return t != nil && comparableType(t.typ, false, seen, nil)
typeset.go#L120: assert(t.typ != nil)
typeset.go#L122: u := Unalias(t.typ)
typeset.go#L129: if !yield(t.typ, u) {
typeset.go#L143: assert(t.typ != nil)
typeset.go#L336: assert(t.typ != nil)
typeset.go#L337: if comparableType(t.typ, false /* strictly comparable */, nil, nil) {
typeset.go#L386: u := under(t.typ)
typeset.go#L389: assert(!isTypeParam(t.typ))
typeset.go#L394: if t.tilde && !Identical(t.typ, u) {
typestring.go#L212: w.typ(t.typ)
typestring.go#L385: newTypeHasher(&buf, w.ctxt).typ(term.typ)
typeterm.go#L18: typ Type
typeterm.go#L25: case x.typ == nil:
typeterm.go#L28: return "~" + x.typ.String()
typeterm.go#L30: return x.typ.String()
typeterm.go#L40: case x.typ == nil || y.typ == nil:
typeterm.go#L41: return x.typ == y.typ
typeterm.go#L45: return x.tilde == y.tilde && Identical(x.typ, y.typ)
typeterm.go#L58: case x.typ == nil:
typeterm.go#L60: case y.typ == nil:
typeterm.go#L86: case x.typ == nil:
typeterm.go#L88: case y.typ == nil:
typeterm.go#L114: case x.typ == nil:
typeterm.go#L123: return Identical(x.typ, u)
typeterm.go#L134: case y.typ == nil:
typeterm.go#L136: case x.typ == nil:
typeterm.go#L156: if debug && (x.typ == nil || y.typ == nil) {
typeterm.go#L159: ux := x.typ
typeterm.go#L163: uy := y.typ
union.go#L43: func (t *Term) Type() Type { return t.typ }
union.go#L67: return term.typ // typ already recorded through check.typ in parseTilde
union.go#L93: if !isValid(t.typ) {
union.go#L97: u := under(t.typ)
union.go#L101: check.errorf(tlist[i], InvalidUnion, "invalid use of ~ (%s is an interface)", t.typ)
union.go#L105: if !Identical(u, t.typ) {
union.go#L106: check.errorf(tlist[i], InvalidUnion, "invalid use of ~ (underlying type of %s is %s)", t.typ, u)
union.go#L120: case t.typ == universeComparable.Type():
union.go#L172: assert(!IsInterface(y.typ))
union.go#L174: if IsInterface(x.typ) {
union.go#L180: if x == nil || x.typ == nil || y == nil || y.typ == nil {
validtype.go#L64: if !check.validType0(pos, t.typ, nest, path) {